package cn.tedu.weibo.result;

import lombok.*;

//统一响应结果
//所有的Controller在给前端回复信息时,保证风格,结构统一
@Getter
@Setter
@ToString
@NoArgsConstructor
@AllArgsConstructor
public class JsonResult {
    /**
     * 每个不同的业务对应的不同处理结果都应当有一个独立的状态码
     */
    private Integer statusCode;
    /**
     * 响应的提示信息
     */
    private String message;
    /**
     * 响应的数据
     */
    private Object data;

    public JsonResult(Status status) {
        this.statusCode = status.getStatusCode();
        this.message = status.getMessage();
    }

    public JsonResult(Status status,Object data){
        this(status);
        this.data = data;
    }

    public static JsonResult success(){
//        return new JsonResult(Status.OPERATION_SUCCESS);
//        return new JsonResult(Status.OPERATION_SUCCESS,null);
        return success(null);
    }

    public static JsonResult success(Object data){
        return new JsonResult(Status.OPERATION_SUCCESS,data);
    }

}
